#include "stdutils.h"

std::vector<size_t> Intersection(const std::vector<size_t>& a, const std::vector<size_t>& b) {
	std::vector<size_t> r;
	std::set_intersection(a.begin(), a.end(), b.begin(), b.end(), std::back_inserter(r));
	return r;
}

std::vector<size_t> Union(const std::vector<size_t>& a, const std::vector<size_t>& b) {
	std::vector<size_t> r;
	std::set_union(a.begin(), a.end(), b.begin(), b.end(), std::back_inserter(r));
	return r;
}

std::vector<size_t> Difference(const std::vector<size_t>& a, const std::vector<size_t>& b) {
	std::vector<size_t> r;
	std::set_difference(a.begin(), a.end(), b.begin(), b.end(), std::back_inserter(r));
	return r;
}
